Understanding Maintenance Design: How Developers Work at the Whiteboard to Design Solutions for Software Maintenance
نویسندگان
چکیده
In this paper, we present our findings from a study into the nature of maintenance design meetings. Previous studies of software developers practicing design predominantly focused on the design of new software. In practice, however, developers often find themselves working on changes to already-existing software. Such changes can be complex to undertake, and frequently require impromptu, relatively short meetings in which developers work jointly at a whiteboard to design solutions. We performed an in-depth analysis of six such maintenance design meetings, three in our lab, and three at a local company. Each meeting involved experienced developers working on a real problem, and was studied through a combination of direct observation, interviews, and analyses of electronic sketching log files. Our findings detail several serious differences that distinguish maintenance design from new software design, with several implications for future tools aiming to support maintenance design.
منابع مشابه
Understanding Programmers' Working Context by Mining Interaction Histories
Understanding how software developers do their work is an important first step to improving their productivity. Previous research has generally focused either on laboratory experiments or coarsely-grained industrial case studies; however, studies that seek a finegrained understanding of industrial programmers working within a realistic context remain limited. In this work, we propose to use int...
متن کاملDesign Patterns Mining using Subgraph Isomorphism: Relational View
Design Pattern Detection is a part of many solutions to Software Engineering difficulties. The usage of design patterns leads to benefits for new and young developers by enabling them to reuse the knowledge of their experienced colleagues. Mining of design pattern instances is important for program understanding and software maintenance. Hence a reliable design pattern mining is required. Here ...
متن کاملDesign Pattern Mining by Product of Sum (POS) Expression for Graphs
There are many recurring patterns of classes which exist in several object oriented software as an experience of developers. Design Pattern Mining is an important part of many solutions to Software Reuse practices. Design pattern instances are highly important and useful for program understanding and software maintenance. Hence an automatic and reliable design pattern mining capability is requi...
متن کاملA New Mathematical Model for a Multi-product Supply Chain Network with a Preventive Maintenance Policy
The supply chain network design (SCND) implicates decision-making at a strategic level and makes it possible to create an effective and helpful context for managing. The aim of the network is to minimize the total cost so that customer's demands should be met. Preventive maintenance is pre-determined work performed to a schedule with the aim of preventing the wear and tear or sudden failure of ...
متن کاملPatterns in Software Maintenance: Learning from Experience
In software design, patternsthat is, structured, named descriptions of good solutions to common problems in contexthave become a popular way of recording and transferring problem-solving expertise. The aim of this chapter is to describe how patterns can help in the field of software maintenance. There are two main uses of patterns in software maintenance. The first is to consider the introduc...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008